package com.cn.wanxi.service;

import com.cn.wanxi.model.NavModel;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class NavService {
    /**
     * 一个类包括几大块
     * 1.属性
     * <p>
     * 2.方法
     * 执行行为
     * 3.代码块
     * 4.构造方法
     * 一个完整的方法
     * 权限修饰符  特征修饰符 返回值类型 方法名称（参数类型  参数名称） 异常{
     * 执行体
     * 返回值
     * }
     * 代码块和静态代码块：加载类的时候先加载代码块里面的方法
     * 如果有静态代码块，先加载静态代码块
     */ {
//代码块
        System.out.println("1111");
    }

    static {
//     静态代码块
        System.out.println("2222");
    }

    /**
     * 如果类里面没有写构造方法，则有一个默认的无参数的构造方法
     * 1.如果类里面有了其他构造方法（有参数的构造方法）那么默认的构造方法失效
     * 页面加载时，先执行我们的代码块，在执行构造方法
     * 永远静态先执行
     */
    public NavService(String name) {

    }

    public NavService() {

    }

    /**
     * 得到导航数据
     *
     * @return
     */
    public List<NavModel> getNavModelList() {
        List<NavModel> list = new ArrayList<>();//集合
        NavModel model = new NavModel();//只是为了得到数组数据
        String hrefs[] = model.getHrefs();//数组
        String titles[] = model.getTitles();
        /**
         * 数组的写法赋值方式
         * 1.静态赋值 {"home.html", "company.html"}
         * 2.动态赋值
         */
        for (int i = 0; i < hrefs.length; i++) {
            NavModel navModel = new NavModel();//为了封装导航
            navModel.setHref(hrefs[i]);
            navModel.setTitle(titles[i]);
            list.add(navModel);
        }
        return list;
    }
}
